安装系统级依赖到usr/bin下 这一步最大的麻烦在于,我们可能是普通用户,是没有root权限的,导致一些系统级别的依赖无法安装。(之前本人硬着头皮试过把这些依赖安装到自己目录下,但是很遗憾..都没成功),如果有这个需求,最省事的就是直接联系服务器管理员进行操作。
安装miniconda到用户文件夹home/user_name下 安装 miniconda3 到 /home/user_name/miniconda3
1 env_scripts/install_miniconda.sh
这个脚本的内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #!/bin/bash echo "Downloading Miniconda installer..." wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh chmod +x Miniconda3-latest-Linux-x86_64.shecho "Installing Miniconda..." bash Miniconda3-latest-Linux-x86_64.sh -p /home/user_name/miniconda3 echo "Adding Miniconda to PATH..." echo 'export PATH="/home/user_name/miniconda3/bin:$PATH"' >> ~/.bashrcsource ~/.bashrc
创建虚拟环境并安装所需pkg 创建并进入虚拟环境 1 2 conda create -n xxx python=3.12 -y conda activate xxx
如果项目对cmake版本有要求,在虚拟环境中安装cmake 1 conda install -c conda-forge cmake=3.22.1
检查是否安装成功
1 2 (env_name) user_name@sever_name:~$ which cmake /home/user_name/miniconda3/envs/env_name/bin/cmake
如果项目对cuda版本有要求,在虚拟环境中安装CUDA 1 conda install -c nvidia/label/cuda-11.8.0 cuda
检查是否安装成功
1 2 (env_name) user_name@sever_name:~$ which nvcc /home/user_name/miniconda3/envs/env_name/bin/nvcc
如果项目对gcc版本有要求,在虚拟环境中安装GCC/G++ 1 conda install -c conda-forge gcc_linux-64=11.4.0 gxx_linux-64=11.4.0
注意:Conda 默认不会将这些工具链包中的 gcc 映射为 gcc 命令。所以 which gcc 仍然返回的是 /usr/bin/gcc(系统默认的 gcc)
1 2 3 4 (env_name) user_name@sever_name:~$ which gcc /usr/bin/gcc (env_name) user_name@sever_name:~$ which x86_64-conda-linux-gnu-gcc /home/user_name/miniconda3/envs/env_name/bin/x86_64-conda-linux-gnu-gcc
因此在安装后,在Conda环境里软链接gcc/g++到Conda的工具链(不直接修改系统目录usr/bin/gcc的软连接 防止冲突)
1 2 ln -sf $(which x86_64-conda-linux-gnu-gcc) $CONDA_PREFIX/bin/gcc ln -sf $(which x86_64-conda-linux-gnu-g++) $CONDA_PREFIX/bin/g++
检查是否成功
1 2 (env_name) user_name@sever_name:~$ which gcc /home/user_name/miniconda3/envs/env_name/bin/gcc
安装 torch 1 pip install torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 --index-url https://download.pytorch.org/whl/cu118
安装其他依赖库 1 pip install -r requirements.txt
其他注意事项 3DGS
编译3dgs的那几个c++扩展库,特别要注意cuda,gcc,g++版本是否对应,注意 which xxx 检查下是否是映射到虚拟环境安装的包而不是base环境。
home空间不足
如果home空间不够了,可以在.condarc中,修改envs_dirs到其他盘,千万不要放到挂载的网盘上去了,不然极其慢。pkgs_dirs可以不挪,因为已经有大量包都下好了。